package com.yss.sofa.framework.services.report;

/**
 * 报表分页导出生成器的控制器，每导出一页就回调一次
 */
public interface ReportExportYield {
	/**
	 * 控制报表分页导出，通过返回值来决定下一次执行哪一页（或中断）
	 * @param index 当前页（0=第一页）
	 * @param count 总页数（仅针对本次执行有效，下次可能不同，因为count是动态计算的）
	 * @param filename 当前页的文件全路径（每页是单独的文件），文件使用完后需要调用方删除或移走
	 * @return 下一次的页码，若要中断请返回 <0 或 >=count 的值，一般只要return index+1;即可
	 */
	public int yield(int index,int count,String filename);
}
